【已解决】MySQL登录时出现ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开解决方法 |
您所在的位置:网站首页 › mysql 1045 access denied › 【已解决】MySQL登录时出现ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开解决方法 |
本文摘要:本文已解决MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的相关报错问题,并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🎈 作者优秀专栏:洲洲每周都会举办一些送书活动,欢迎大家关注专栏抽书哦!专栏地址:一键跳转 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。 🌼 同时洲洲已经建立了程序员技术交流群,如果您感兴趣,可以私信我加入我的社群~社群中将不定时分享各类福利 🖥 随时欢迎您跟我沟通,一起交流,一起成长、进步!点此即可获得联系方式~ 本文目录 一、Bug描述二、定位报错原因三、解决方案汇总方案一:重设密码(建议忘记密码才使用这个方案)步骤1:停止MySQL服务步骤2:以无密码模式启动MySQL步骤3:连接Mysql步骤4:设置新密码步骤5:重启Mysql服务 方案二:检查用户权限方案三:修改配置文件(推荐) 总结 一、Bug描述Mysql在使用过程中,可能会遇到登录问题,比如常见的错误信息:“Access denied for user ‘root’@‘localhost’ (using password: YES)”。 本文将分析这个问题的可能原因,并提供一系列解决方案。 二、定位报错原因出现这个Access denied问题的原因有如下可能: MySQL的服务器停止了。用户的端口号或者IP导致拒绝访问。MySQL的配置文件错误(通常是my.cnf或my.ini)。root用户的密码错误。权限问题:用户可能没有足够的权限登录。 三、解决方案汇总 方案一:重设密码(建议忘记密码才使用这个方案) 步骤1:停止MySQL服务在Linux上,可以使用以下命令: sudo systemctl stop mysql在Windows上,可以通过服务管理器停止MySQL服务。 步骤2:以无密码模式启动MySQL在Linux上,使用以下命令: sudo mysqld_safe --skip-grant-tables &如果是Windows系统。 使用vi /etc/my.cnf,添加到【mysqld】后面 skip-grant-tables重启MySQL服务 systemctl restart mysqld创建一个免密码登录的用户 use mysql #选择数据库 update user set authentication_string=password("123456") where user="root"; #修改密码 步骤3:连接Mysql使用以下命令连接到MySQL服务器: mysql -u root 步骤4:设置新密码在MySQL命令行中,执行以下命令来设置新密码: FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; 步骤5:重启Mysql服务在Linux上,使用以下命令: sudo systemctl start mysqlWindows上,使用命令 net start mysql 方案二:检查用户权限确保root用户具有从localhost登录的权限。可以使用以下命令查看权限: SHOW GRANTS FOR 'root'@'localhost';如果权限不正确,可以使用以下命令授予所有权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; 方案三:修改配置文件(推荐)检查MySQL的配置文件,确保没有错误的配置阻止了登录。 常见的配置文件路径为/etc/mysql/my.cnf或/etc/my.cnf 或者 D:\Program Files\MySQL\MySQL Server 5.0\my.ini) 在[mysqld]这个条目下加入 skip-grant-tables保存退出后重启mysql即可。 这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。 我们接下来设置密码就可以了 mysql> use mysql; mysql> update user set password=password("新密码") where user="root";然后刷新数据库。 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit; 总结Hello,各位看官老爷们好,洲洲已经建立了技术交流群,如果你很感兴趣,可以私信我加入我的社群。 📝社群中不定时会有很多活动,例如每周都会包邮免费送一些技术书籍及精美礼品、学习资料分享、大厂面经分享、技术讨论、行业大佬创业杂谈等等。 📝社群方向很多,相关领域有Web全栈(前后端)、人工智能、机器学习、自媒体变现、前沿科技文章分享、论文精读等等。 📝不管你是多新手的小白,都欢迎你加入社群中讨论、聊天、分享,加速助力你成为下一个技术大佬!也随时欢迎您跟我沟通,一起交流,一起成长。变现、进步、技术、资料、项目、你想要的这里都会有 📝欢迎您加入社群~一个人可以或许可以走的很快,但一群人将走的更远! 📝关注我的公众号(与CSDN同ID:洲与AI)可以获得一份Java 10万字面试宝典及相关资料!~ 📝想都是问题,做都是答案!行动起来吧!欢迎评论区or后台与我沟通交流,也欢迎您点击下方的链接直接加入到我的交流社群!~ 跳转链接社区~ |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |